Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Breeze installation and reinstallation support both uv and pipx #43607

Merged

Conversation

potiuk
Copy link
Member

@potiuk potiuk commented Nov 2, 2024

So far breeze fully supported only pipx installation. For example it would reinstall itself automatically with pipx if you attempted to run it from another workspace/checked out repository of Airflow, and it only provided instructions for pipx.

With this PR:

  • the uv tool is preferred way to install breeze
  • the pipx is PSF-governance managed alternative
  • breeze will reinstall itself using uv if it has been installed with uv before when it is run from a different workspace or different airflow repo checked out in another folder

Also documentation is updated to make uv the recommended tool and describing how to install it - with pipx provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.


^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in newsfragments.

@potiuk
Copy link
Member Author

potiuk commented Nov 2, 2024

We'll have to cherry-pick that one to v2-10-test to enable automated breeze switching between checked out main and v2-10-test to the right version (when breeze is installed via uv tool)

@potiuk potiuk force-pushed the use-both-uv-and-pipx-for-breeze-installation branch 4 times, most recently from edd26a4 to bbaadaa Compare November 2, 2024 16:28
@potiuk potiuk force-pushed the use-both-uv-and-pipx-for-breeze-installation branch from bbaadaa to 9e7ba7d Compare November 2, 2024 16:42
@potiuk
Copy link
Member Author

potiuk commented Nov 2, 2024

I also tested a few scenarios where we were switching between "breeze static checks" and "git commit" pre-commit as I noticed that they could be using different pre-commit installation, and they could make no use of the "pre-commit-uv" - I fixed it in this PR, and now also users will get warning if their pre-commit is installed without uv and they also will get instructions how to install it.

@potiuk potiuk force-pushed the use-both-uv-and-pipx-for-breeze-installation branch 2 times, most recently from e19ce83 to 53ef8ed Compare November 2, 2024 16:47
Copy link
Contributor

@amoghrajesh amoghrajesh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few nits, otherwise LGTM +1

dev/breeze/doc/01_installation.rst Show resolved Hide resolved
dev/breeze/doc/01_installation.rst Outdated Show resolved Hide resolved
dev/breeze/doc/01_installation.rst Outdated Show resolved Hide resolved
dev/breeze/doc/01_installation.rst Outdated Show resolved Hide resolved
@potiuk potiuk force-pushed the use-both-uv-and-pipx-for-breeze-installation branch from 7426af9 to 77a89e7 Compare November 2, 2024 19:28
So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.
@potiuk potiuk force-pushed the use-both-uv-and-pipx-for-breeze-installation branch from 77a89e7 to 8a96e93 Compare November 2, 2024 19:33
@potiuk potiuk merged commit ddc5670 into apache:main Nov 2, 2024
82 checks passed
@potiuk potiuk deleted the use-both-uv-and-pipx-for-breeze-installation branch November 2, 2024 21:06
potiuk added a commit to potiuk/airflow that referenced this pull request Nov 4, 2024
…pache#43607)

So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.

(cherry picked from commit ddc5670)
potiuk added a commit to potiuk/airflow that referenced this pull request Nov 4, 2024
…pache#43607)

So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.

(cherry picked from commit ddc5670)
potiuk added a commit to potiuk/airflow that referenced this pull request Nov 4, 2024
…pache#43607)

So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.

(cherry picked from commit ddc5670)
potiuk added a commit to potiuk/airflow that referenced this pull request Nov 4, 2024
…pache#43607)

So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.

(cherry picked from commit ddc5670)
potiuk added a commit to potiuk/airflow that referenced this pull request Nov 4, 2024
…pache#43607)

So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.

(cherry picked from commit ddc5670)
potiuk added a commit that referenced this pull request Nov 4, 2024
…43607) (#43626)

So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.

(cherry picked from commit ddc5670)
ellisms pushed a commit to ellisms/airflow that referenced this pull request Nov 13, 2024
…pache#43607)

So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.
utkarsharma2 pushed a commit that referenced this pull request Dec 4, 2024
…43607) (#43626)

So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.

(cherry picked from commit ddc5670)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants